package com.cuixichang.minimalism.service;

import com.cuixichang.minimalism.transfer.dto.ILoginDTO;
import com.cuixichang.minimalism.transfer.po.ILogin;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import java.util.List;
import java.util.function.BiConsumer;
import java.util.function.Function;
/**
 * 系統登录账户管理表服务接口
 *
 * @author cuixichang
 * @date 2024-12-22
 */
public interface ILoginService{

    ILoginDTO selectById(Long id);

    ILoginDTO selectOne(ILoginDTO iLoginDTO);

    List<ILoginDTO> selectByIds(List<Long> ids);

    List<ILoginDTO> selectList(ILoginDTO iLoginDTO);

    List<ILoginDTO> selectList(ILoginDTO iLoginDTO, BiConsumer<ILogin, QueryWrapper<ILogin>> consumer);

    Page<ILoginDTO> selectPage(ILoginDTO iLoginDTO, long pageSize, long pageNo);

    Page<ILoginDTO> selectPage(ILoginDTO iLoginDTO, long pageSize, long pageNo, BiConsumer<ILogin, QueryWrapper<ILogin>> consumer);

    int deleteById(Long id);

    int deleteByIds(List<Long> ids);

    int deleteByCondition(ILoginDTO iLoginDTO);

    int deleteByCondition(ILoginDTO iLoginDTO, BiConsumer<ILogin, QueryWrapper<ILogin>> consumer);

    ILoginDTO insert(ILoginDTO iLoginDTO);

    ILoginDTO insertHasOption(ILoginDTO iLoginDTO, Function<ILoginDTO,ILoginDTO> preOption);

    int updateById(ILoginDTO iLoginDTO);

    int updateById(ILoginDTO iLoginDTO, BiConsumer<ILogin, UpdateWrapper<ILogin>> consumer);
}